package math;


/**
 * 负数表示法：
 * 第一位为符号位
 * 例如 十进制1为二进制
 * 00000000000000000000000000000001
 * 例如 十进制-1为二进制
 * 11111111111111111111111111111111
 * 第一位为符号位
 * 算法为按位取反在再加1
 * -x等于(~x)+1
 */
public class Negative {
    public static void main(String[] args) {
        //-(-1) = (~(0xFFFFFFFF)) + 1 = 0x00000000 + 1 = 0x00000001 = 1
        System.out.println(Math.abs(Integer.MIN_VALUE) % 3);
        System.out.println(Math.abs(-1));

        //Integer.MIN_VALUE 二进制为 10000000000000000000000000000000
        //Math.abs 之后仍是自身
        System.out.println(Math.abs(Integer.MIN_VALUE));
    }
}
